查看原文
其他

58同城智能语音质检系统架构实践

刘晟源、陈璐 58技术 2022-03-15

导语

在58同城生活服务平台上,语音是用户间的重要沟通手段,智能语音质检系统接入呼叫中心实时电话录音,将语音转化成文本,并利用自然语言处理(NLP)技术对文本进行挖掘分析,有效地提升了呼叫中心坐席服务质量。


背景

传统语音质检通常是指质检员听取一定比例的电话录音进行人工质检,检测坐席在通话过程中是否有违规或非标准话术行为,如骂人、嘲讽、推诿、过度承诺等,以规范坐席人员行为,进而提升客户服务质量。纯人工听取录音效率低,单人日均仅能听取约3小时,在大规模呼叫中心中往往只能实现少量录音的抽检,覆盖率低。随着语音识别、自然语言处理技术的高速发展,近年来诞生了智能语音质检系统,在语音质检上起到了越来越重要的作用。

智能语音质检一般采用机器质检与人工复检相结合的方式,会覆盖客户和坐席的每一句话,可以很好地辅助提升人工坐席的服务质量,智能语音质检相比传统语音质检具有以下优势:

目前58同城呼叫中心每年有上亿通电话,为了能够实现海量电话录音全量自动化质检,TEG技术工程平台群AI Lab自研了智能语音质检系统,它是利用语音识别、自然语言处理、大数据技术构建起来的质检管理系统,集成了数据收集、存储、质检、分析等功能。58智能语音质检系统的工作流程是:首先收集话务中心话务数据,其次利用语音识别技术将录音转成文本,然后利用自然语言处理技术与深度学习技术对文本进行分析处理,最终将质检的结果在Web管理平台上展示,由质检人员进行人工复检。


整体架构

语音质检架构包括基础能力层、数据层、 逻辑层、编辑运营层和Web管理层,如下图所示:


基础层为语音质检提供了基础的语义分析能力,由NLP自然语言处理模块和ASR语音识别模块组成。NLP模块主要功能包含分词、文本聚类、文本分类、关键词提取、实体提取等。ASR语音识别模块集成封装了第三方语音识别接口,用于语音转文本、角色分离。

数据层提供了数据接入能力,接入了Kafka、WMB(58自研消息总线)实时话务数据,并提供了质检话务数据接口服务,实现对实时录音数据、离线语音数据的多种数据格式质检、存储支持。

逻辑层是语音质检的核心部分,实现了从音频数据到坐席客户对话文本、质检标签识别的全部流程,包括角色识别、语义标签、语音评分、质检结果通知等模块。其中角色识别实现了两个对话角色的识别: 谁是坐席,谁是客户。语义标签模块使用机器学习和深度学习技术,通过语义分析检测出预定义质检标签,如“客户表示不需要”、“销售辱骂客户”等。

编辑运营层是一套集数据标注、效果评估、数据分析功能于一体的Web系统。编辑人员通过质检Web平台完成质检标签、角色识别等的标注工作,并定期进行数据分析和效果评测。

WEB管理层即提供了人工复检功能的支持,包括机检数据概览、质检任务分配、人工复检、统计等模块。



语音识别

语音识别(Automatic Speech Recognition)ASR是一种将语音转换成文本的技术,对于双声道的录音,客户和坐席的声音在不同的声道,因此可以很容易地将通话双方的说话内容分开并转写成文本,对于单声道录音(我们的质检录音绝大多数都是单声道),客户和坐席的声音混在一起,将语音转写成文本之前,我们还需要进行语音分离,将双方的说话内容在语音粒度上分开。语音分离的效果直接影响到后续的质检结果,假如误把客户的说话内容判别为坐席的说话内容,必然会降低质检的效果。

衡量语音分离的通用指标是分离错误率(Diarization Error Rate)DER,它指的是语音总时长中识别错误的语音时长所占的比重,DER越小说明分离的效果越好。为了进行说话人分离,我们首先使用语音活动检测(Voice Activity Detection) VAD识别出空白音,然后将断开的非空白音聚成两类,以此完成说话人分离,最后将分离的语音片段转写成文本。


角色识别

对单声道的语音,我们将分离的语音片段识别成文本后,还需要进行角色识别,语音分离只是识别出哪些说话内容属于A,哪些属于B,还需要依靠角色识别来判断A和B哪个是坐席,哪个是客户。


角色识别服务分两步进行,首先会使用性别识别模型判断说话人双方是否是异性,如果是异性,通过数据库查询坐席的性别进行角色的判定。如果无法确定双方为异性,则会进行通用角色识别。

性别识别模型目前采用VGGish+Bi-lstm+attention,首先提取音频的FBank特征作为VGGish模型的输入,得到一个128维的embedding,然后将embedding作为Bi-lstm+attention的输入预测音频的说话人性别。

通用角色识别的流程如下:获取A和B的说话内容之后,使用TextCNN提取句子语义,并使用nGram提取具有角色代表性的关键词对A和B两个集合进行打分,初步判别A和B的角色,初步判别之后可能还会有部分语句的角色是错的(由于语音分离不完全准确造成),比如“有什么还可以帮您的吗?”明显是坐席说的话,但是却被分成了客户的角色,因此第二步我们会使用Transformer对部分带有明显角色倾向的单句进行角色纠正。

角色识别最终取得了较好的结果,在整体的业务数据上,角色识别的准确率达到了85%。

销售常规质检针对所有业务线的销售录音,包括“过度承诺”、“工作作假”、 “销售辱骂客户”等标签,销售常规质检对于监督销售工作、规范销售行为起到了重要作用。

客服质检针对的是客服录音,目标是检测出通话中客服不文明或者不合规的行为,客服质检对于提升客服的服务质量有重要作用。比如招聘业务线新户客服的工作是告知新会员需要注意的事项,包括“安全提示”,“号码保护”和“客户热线”等标签,语音质检系统会给出新户首通客服录音包含的所有标签,并对本次通话给出一个评分。

质检标签识别是一个复杂同时又具有挑战的问题,需要考虑业务,语气和上下文等因素,同时还要避免语音识别错误带来的影响。我们采用了TextCNN,Transformer和Bert等深度学习模型,同时基于对业务的理解使用了相应的规则进行标签识别。

在我们尝试的所有深度模型中,Bert预训练模型取得了阶段性最好的效果,但是Bert的预训练数据和我们的业务数据分布不同,我们业务数据是ASR转写的文本,具有较强的领域特征,同时存在较多的口语化表达和转写错误,为了进一步提升识别的效果,我们使用海量的业务文本重新预训练了Bert模型,最终我们预训练的Bert模型取得了最好的效果。当前销售质检准确率达到了90%,客服质检准确率达到了87%。


复检系统

复检系统是Web管理平台的一部分,我们会把质检结果展示在Web页面上,质检员可以看到整体质检报表,也可以对单通语音进行复检,人工复检的详情页面如下所示:

质检员在标签栏可以看到质检系统给出的标签,点击标签可以直接定位到标签的说话内容,点击说话内容左侧的播放按钮可以听这句话的录音,同时最下侧的录音进度条也会移动到相应位置。质检员不仅可以很快地复检标签内容,也可以通过快速浏览文字检查质检系统未覆盖到的内容并手动添加标签,复检结果会存入数据库中供后续分析使用。传统的人工质检,质检时边听录音边做记录,一通语音要反复听好几遍才会有一个质检结果,效率非常低下。相比于传统的人工质检方式,使用复检系统的人效提高2至3倍。

后端架构设计

语音质检后台系统基于58同城自研RPC框架SCF实现,使用WMonitor实现对各个服务的监控,存储依据不同数据的特性分别选用了WOS(58自研对象存储服务)、Redis、WTable(58自研KV存储服务)、WCS(58自研索引服务)、MySQL等。整个后台服务的设计如下图所示:

语音质检接入了呼叫中心的实时话务消息队列,以实现对坐席电话的实时质检功能,此外还额外提供了话务数据接口服务,实现对离线数据的提交质检。

语音质检后台系统由数据服务、主体服务、ASR服务、ASR回调服务、说话人识别服务、质检标签服务等多个微服务组成。

数据服务负责实现对多种数据源的接入,补全客户以及坐席组织架构信息,并实现对存于话务系统中原始录音文件的WOS转存功能。主体服务贯穿整个质检过程,负责控制整个数据流:调用日晷平台获取ABTest实验配置,向ASR服务发起转写请求,调用说话人识别服务、质检标签服务获取角色识别结果以及质检标签,向质检员发送违规通知、向其他内部系统同步质检结果等。

语音转写算法模型耗时较长,故对第三方服务的封装采用异步调用的方式:由ASR服务负责对HTTP提交任务接口的封装,对内提供一个SCF接口,并设立回调HTTP服务接收ASR转写结果转存WTable,并使用WMB向主体服务发送质检回调请求。

说话人识别以及质检语音标签分析依赖的模型经离线训练后部署在WPAI中,此外WPAI提供了算法模型在线预测服务,供说话人识别服务、质检语义标签服务在线调用,质检结果由主体服务统一存储到MySQL中。

在将录音转写成文本、给每通录音打上质检标签后,为便于质检员实时复检操作,我们构建了智能质检Web平台,平台提供机检标签查询、人工复检、录音文本查看、录音调听、统计报表汇总等功能。Web系统涉及大量的标签查询以及统计功能,单一的SQL查询难以满足性能指标,对此我们引入了58自研的58云搜(WCS)搜索私有云平台,将质检结果数据实时同步至WCS中,Web查询由WCS统一承载,目前在千万级数据接口查询速度约为20ms。


总结

本文介绍了智能语音质检系统的架构设计,包括整体架构、语音识别、角色识别、质检标签识别、复检系统等。

目前智能语音质检系统已稳定接入58同城呼叫中心销售、客服全量录音,涉及13个业务,日均质检电话录音数十万通,其中客服录音质检场景折合节省人力近千人,提高了呼叫中心人效和服务质量。

作为智能语音分析平台的一个子系统,智能语音质检中的技术也可以应用于C2B平台语音分析场景,58同城作为平台方为商家以及客户搭建了方便快捷的沟通途经,对于C端客户与B端商家的语音,可提供如低质通话过滤、客户需求挖掘分析等多种业务能力。C2B的语音一般是双声道,不需要做语音分离和角色识别,可以很好地区分客户和商家说话内容,因此具有更好的分析效果。

(搬家场景下C端客户可给B端商家拨打电话)


作者简介:

陈璐,58集团AI Lab高级算法工程师,2018年9月加入58,最初从事智能客服QABot问答机器人算法开发相关工作,目前主要负责58智能质检的算法开发工作。2016年毕业于北京邮电大学,曾就职京东从事推荐后台开发,NLP算法开发。

刘晟源,58集团AI Lab,后端资深开发工程师,2019年1月加入58,目前主要负责智能语音分析云平台开发相关工作。2015年硕士毕业于中国科学院大学,曾就职与航天科技,创业公司从事后台开发。






活动福利

转发本篇文章到朋友圈集赞,按照点赞数从高到低排序(点赞数需大于等于58)前三名可获得以下福利:

第一名:价值100元的京东E卡; 

第二名:价值50元的京东E卡;

第三名:价值50元的京东E卡。 

参与活动请添加“58技术小助手”微信号(jishu-58),并于8月5日下午三点前将点赞截图发送给小助手,获奖情况将于8月5日下午六点在58技术公众号平台公布。








您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存